package com.sqx.modules.pay.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * 充值记录
 *
 * @author fang 2020-05-14
 */
@Data
@TableName("pay_details")
public class PayDetails implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 充值记录id
     */
    @TableId(type = IdType.INPUT)
    @ApiModelProperty("充值记录id")
    private Long id;

    /**
     * 分类（1微信 1app微信 2微信公众号 3微信小程序 4支付宝 8系统操作）
     */
    @ApiModelProperty("类（1微信 1app微信 2微信公众号 3微信小程序 4支付宝app支付  5支付宝H5支付 6零钱支付 8系统操作）")
    private Integer classify;

    /**
     * 订单id
     */
    @ApiModelProperty("订单id")
    private String orderId;

    /**
     * 订单号
     */
    @ApiModelProperty("订单号")
    private String tradeNo;

    /**
     * 充值金额
     */
    @ApiModelProperty("充值金额")
    private Double money;

    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    private Long userId;

    /**
     * 0待支付 1支付成功 2失败
     */
    @ApiModelProperty("0待支付 1支付成功 2失败")
    private Integer state;
    /**
     * 关联id(如果是购买会员则是会员类型)
     */
    @ApiModelProperty("关联id(如果是购买会员则是会员类型)")
    private Long parentId;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private String createTime;

    /**
     * 支付时间
     */
    @ApiModelProperty("支付时间")
    private String payTime;

    /**
     * 支付类型 1 订单  2会员 5平台充值
     */
    @ApiModelProperty("支付类型 1 订单  2会员 5平台充值")
    private Integer type;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("电话")
    @TableField(exist = false)
    private String phone;

    @ApiModelProperty("用户名")
    @TableField(exist = false)
    private String userName;

    @ApiModelProperty("退款原因")
    @TableField(exist = false)
    private String refundContent;

    @TableField(exist = false)
    @ApiModelProperty("支付订单号")
    private String outRequestNo;

}
